.\" Copyright (C) 1994, 1995, Daniel Quinlan <quinlan@yggdrasil.com>
.\" Copyright (C) 2002-2008, 2017, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright (C) 2023, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: GPL-3.0-or-later
.\"
.TH proc_pid_statm 5 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
/proc/pid/statm \- memory usage information
.SH DESCRIPTION
.TP
.IR /proc/ pid /statm
Provides information about memory usage, measured in pages.
The columns are:
.IP
.in +4n
.EX
size       (1) total program size
           (same as VmSize in \fI/proc/\fPpid\fI/status\fP)
resident   (2) resident set size
           (inaccurate; same as VmRSS in \fI/proc/\fPpid\fI/status\fP)
shared     (3) number of resident shared pages
           (i.e., backed by a file)
           (inaccurate; same as RssFile+RssShmem in
           \fI/proc/\fPpid\fI/status\fP)
text       (4) text (code)
.\" (not including libs; broken, includes data segment)
lib        (5) library (unused since Linux 2.6; always 0)
data       (6) data + stack
.\" (including libs; broken, includes library text)
dt         (7) dirty pages (unused since Linux 2.6; always 0)
.EE
.in
.IP
.\" See SPLIT_RSS_COUNTING in the kernel.
.\" Inaccuracy is bounded by TASK_RSS_EVENTS_THRESH.
Some of these values are inaccurate because
of a kernel-internal scalability optimization.
If accurate values are required, use
.IR /proc/ pid /smaps
or
.IR /proc/ pid /smaps_rollup
instead, which are much slower but provide accurate, detailed information.
.SH SEE ALSO
.BR proc (5),
.BR proc_pid_status (5)
